2018년04월07일 17번
[과목 구분 없음] 데이터베이스의 동시성 제어에 대한 설명으로 옳지 않은 것은? (단, T1, T2, T3는 트랜잭션이고, A는 데이터 항목이다)
- ① 다중버전 동시성 제어 기법은 한 데이터 항목이 변경될 때 그 항목의 이전 값을 보존한다.
- ② T1이 A에 배타 로크를 요청할 때, 현재 T2가 A에 대한 공유로크를 보유하고 있고 T3가 A에 공유 로크를 동시에 요청한다면, 트랜잭션 기아 회피기법이 없는 경우 A에 대한 로크를 T3가 T1보다 먼저 보유한다.
- ③ 로크 전환이 가능한 상태에서 T1이 A에 대한 배타 로크를 요청할 때, 현재 T1이 A에 대한 공유 로크를 보유하고 있는 유일한 트랜잭션인 경우 T1은 A에 대한 로크를 배타 로크로 상승할 수 있다.
- ④ 2단계 로킹 프로토콜에서 각 트랜잭션이 정상적으로 커밋될때까지 자신이 가진 모든 배타적 로크들을 해제하지 않는다면 모든 교착상태를 방지할 수 있다.
(정답률: 56%)
문제 해설
2단계 로킹 프로토콜에서 각 트랜잭션이 정상적으로 커밋될때까지 자신이 가진 모든 배타적 로크들을 해제하지 않는다면 모든 교착상태를 방지할 수 있다는 설명이 옳지 않습니다. 2단계 로킹 프로토콜은 교착상태를 방지하기 위한 방법 중 하나이지만, 모든 교착상태를 방지할 수 있는 것은 아닙니다. 교착상태는 다양한 상황에서 발생할 수 있기 때문에 다양한 방법이 필요합니다.